Systems and Methods for Embedded Internet Searching, and Result Display

ABSTRACT

Systems and methods allow a user of a text or graphics editor to quickly create multiple robust internet search queries by selecting and ranking groups or individual key words from a document. A user who is composing or reading a document can identify and link multiple sets of key words into separate search queries by highlighting and assigning either unique search numbers, colors or other readily ascertained indicators of their logical relation. Each individual search query is routed to selected internet search engines, and the results are returned to the user in the same viewed document. The user may select the form in which the results are displayed. For example, results may be listed within the document by way footnotes, endnotes, or separate hover or pull-down windows accessible from the search terms. In addition, the user can browse, sort, rank, edit or eliminate portions of the results.

BACKGROUND OF THE INVENTION

Internet searching using general search engines is a well-known process.Examples of common search engines include Google, Yahoo, AltaVista,AskJeeves, MSNSearch, HotBot, AOL Search, etc. There are also manyspecialized search engines that focus on particular subject matters,such as technology, sports, shopping or travel. The manner in which suchsearch engines work is well known to those skilled in the art.

Typically, at the user level, internet searching is performed bymanually entering the search terms into the search engine, either bytyping the search terms or by cutting and pasting the search text into asearch box on the search engine portal. The search engine then performsthe search of the internet web pages and returns the results in a listform on the search engine page. These results are typically displayed inthe user's web browser software. This internet search process typicallyrequires that the search engine portal be open in a web browser andoperated directly by the user. Generally, if a user wishes to conductmultiple searches on multiple search engines, each search query must beseparately entered and repeated on each of the selected search engineportals. Moreover, saving the separate search results from each separatesearch performed on each separate search engine generally requirescutting and pasting of displayed results into a file, or otherwisesaving off-line each of the search engine's resultant webpage(s), etc.

Recently, commercial search engine portals, such as WebCrawler, Yahooand Google, have developed “toolbars” that may be installed as a plug infor web browsers. These toolbars enable users to enter the search termsin the search box in the toolbar, instead of having to go to the actualsearch engine portal directly. Typically, when a search is conductedusing a toolbar, the user enters the search text into the search box ofthe toolbar and commands a search to be performed, at which time thebrowser is redirected to the search portal and the results displayed inthe browser or in a separate window generated by the browser.

Search engines also exist that route a specific search query to each ofa multiple number of other search engines, returning the results in acompiled manner, eliminating duplicates. Thus, the user does not need toseparately enter the queries on each search engine. For example,WebCrawler and Dogpile are well-known search engines that forwardindividually entered queries to multiple other search engines (such asGoogle, Yahoo, MSNSearch, etc,), and compile and return non-duplicativeresults to the user for display in the browser. These type of enginesare commonly referred to as “meta-search engines.” Such meta-searchengines typically do not own a database of web pages, but instead, sendsearch terms to the databases maintained by search engine companies.Thus, unlike search engines, metacrawlers do not crawl the webthemselves to build listings. Instead, they allow searches to be sent toseveral search engines all at once. The results are then blendedtogether onto one display page. However, the user must still manuallyenter each individual query term, and may only perform one query at atime, and the results must be individually saved.

For a more detailed review of using internet search engines, and theiroperation, see the following books or articles, each of which isincorporated herein by reference: (1) Google Search and Rescue forDummies, by Brad Hill, John Wiley and Sons, Ltd. (August, 2005); (2)Search Engine Optimization for Dummies, by Peter Kent, John Wiley andSons, Ltd. (April 2004); (3) Understanding Search Engines MathematicalModeling and Text Retrieval (Software, Environments, Tools), by Berryand Brown, Society of Industrial and Applied Mathematics (1999); (4)Google and Other Search Engines: Visual QuickStart Guide, by AlfredGlossbrenner, et al. (May 11, 2004); (5) Web Developer.com(r) Guide toSearch Engines, by Sonnenreich and Macinta, John Wiley and Sons, Ltd.(Feb. 4, 1998); (6) Developing a Search Engine from a Database UsingASP.NET and Index Server, by Paresh Joshi, Apress (ISBN: B00080ATP8, May9, 2004); (7) The Extreme Searcher's Guide to Web Search Engines: AHandbook for the Serious Searcher, by Randolph Hock, CyberAge Books(Jul. 1, 1999); (8) Search Engines Handbook, by Fielden and Kuntz,Farland & Co (Feb. 20, 2002); and (9) “Hot Stories of 2004, 2005 Storiesto Watch, Searching for more, Google and its rivals rolling out new waysto find information,” by Verne Kopytoff, San Francisco Chronicle (Dec.24, 2004).

Another form of commercially available meta-search engine, referred toby the trademark “Grokker,” purports to differentiate itself frommainstream search engines such as Google, Yahoo and AskJeeves by helpingusers to dig deeper in their searches. Grokker relies on search enginesto do the crawling, but lists the results differently: according tosubject, so that, for example, a search for Paris gives the user asingle page with several categories titled “history,” “museums,”“universities,” “hotels” and so on. The results are presented on the Webpage in the shape of a sphere, and the user “drills” down withinmultiple layers of the sphere to refine the search to exactly what theyhe or she needs. Each object is labeled according to organizingprinciples, including date and context, so the user gets what amounts toa visual relational database that includes Web pages, documents, andpictures. The search results are not just put in files and folders, butare organized by using color, shape, size, position, and order.

Grokker purports to operate in four layers: (1) The Data CollectionLayer: after the user enters a query, Grokker's data collection layerretrieves the query results from all selected sources. Grokker reliesprimarily on non-disruptive xml data feeds to retrieve results; (2) TheContent Analytics Layer: once results are retrieved, Grokker analyzesmetadata, document contents, and other information to organize resultsinto categories; (3) The Data Filtering Layer: Grokker also normalizesdata from disparate sources with uniform attribute tagging so that theend user can understand the relationships among results and moreefficiently explore and understand returned links and documents; and (4)The Visualization API: The visualization API displays the normalized,topically organized results in easy to navigate visual formats thatallow viewers to explore large sets of results, filter results topinpoint essential data, and leverage the results to create newknowledge, research and products. See “Groxis moves up in the world, newoffice, funding for Grokker Firm,” by Matt Marshall, Mercury News (Oct.18, 2004); “Out-Googling Google,” by John Quain, PC Magazine (Jan. 14,2004); “Groxis Launches Grokker E.D.U. For the Education Market,” byPaula J. Hane, Information Today (Dec. 20, 2004); each of which isincorporated herein by reference.

“Pull down,” “pop down,” or “drop down” menus (hereinafter collectivelyreferred to as “pull down” or “display” menus) used in text or graphicsgenerating or reading programs are well known. In general, such displaymenus give the user a list of specific items to choose from, tasks toperform, or preferences to be selected. These items are typicallyreferred to as “menu options,” and generally are associated with abroader function button or with a specific item contained within thewindow's toolbars. For instance, at the top of a display window, thereare usually the words “file,” “edit,” “view,” “tools,” etc. Clicking onany of these words typically results in a pull-down menu providing moreprecise capabilities or available operations under this heading that theuser may then select. Often, these actions result in series of “nested”pull-down menus.

Similarly, in a typical word processing program, if one highlights aword of text and right clicks the highlighted word, a menu typicallypops up giving the user several operations that he or she may thenselect, such as “cut,” “paste,” “copy,” “spell checking,” “translate,”“synonyms,” “font,” “formatting,” etc. Pull-down menus typically hidethe options until the user needs them. Once a menu has been invoked, theuser then moves the mouse pointer over the list to an item to make hisor her menu choice and clicks his mouse button on the menu item.Alternatively, the user can simply move the mouse pointer to an areaother than the menu, and clicks to abort the menu. Sometimes the user'schoice is selected as soon as he or she clicks on it. For representativedesign information on menu creation and use in a computer graphicalinterface, see U.S. Pat. Nos. 6,957,396, 6,956,593 and 6,918,091, eachof which is incorporated herein by reference.

Cursor hovering to invoke helpful information in displays is also wellknown. For example, hovering the cursor over an HTML link on a webpagewill many times cause an information window to open giving some detailor information about the link. Hovering the cursor over one of the manyicons on the desktop may invoke the display of an information windowdescribing something about the icon's functionality or purpose. Many ofthe operation buttons (typically on the toolbars) of many popularwindows programs will display an information box if the cursor isallowed to hover over one of them. For more detailed information oncreating link hovers, see U.S. Pat. Nos. 6,938,221, 6,834,372 and6,828,988, incorporated herein by reference. For more detailedinformation on building websites, programming and creating text,graphics and menus, see the following, each of which is incorporatedherein by reference: Beginning Programming for Dummies, Wallace Wang,For Dummies (December 2003); Build Your Own ASP.NET Website Using C# &VB.NET, by Zak Ruvalcaba, SitePoint Pty Ltd., 1 edition (Mar. 1, 2004);ASP.NET Website Programming: Problem—Design—Solution, Visual Basic .NETEdition, by Bellinaso and Hoffman, Wrox, New Ed edition (Jan. 16, 2003);Excel VBA Programming For Dummies, by John Walkenbach, For Dummies (Aug.20, 2004); Microsoft Windows Internals, Fourth Edition: MicrosoftWindows Server™ 2003, Windows XP, and Windows 2000 (Pro-Developer), byRussinovich and Solomon, Microsoft Press (December 2004).

It is also known to provide increased user interface capabilities withalternative input devices such as touchpads, joysticks, a roller mouseand touch sensitive screens, for example. Each of these existing devicesor methods may include multiple programmable input methods, such asright and/or left click buttons, or touchscreens or pads, that are usedby the operator to highlight and select text, initiate functions, pulldown menus, etc. For touchpads, joysticks, etc. (incorporating gesturerecognition features), the number of times a menu or word is “tapped”can initiate different operations (for example, by acting in a mannersimilar to mouse clicks). For more detailed information on programmingand using input devices, see the following, each of which isincorporated herein by reference: Input Devices (ComputerGraphics—Technology and Applications), by Sol Sherr, Academic Press(Mar. 1, 1988); “Keying in on the right input device,” by Edwin Powell,Office Solutions, Quality Publishing, Inc., Volume 19, Issue 6, Pages34-36 (Jun. 30, 2002); “The Ergonomics of Computer Pointing Devices,” byDouglas et al, Advanced Perspectives in Applied Computing (Jun. 1,1997); and U.S. Pat. Nos. 6,927,758, 6,892,597, 6,798,397, 6,781,570,6,756,965, 6,740,863, 6,646,632 and 6,507,338.

It is further known to use speech recognition as an input device tocomputers. For more details on speech recognition use in computers, seethe following references, incorporated herein by reference: ComputerSpeech: Recognition, Compression, Synthesis, Schroeder, Quast andStrube, Springer Press (Nov. 18, 2004); VoiceXML: Introduction toDeveloping Speech Applications, by James Larson, Prentice Hall, 1stedition (Jun. 17, 2002); and U.S. Pat. Nos. 6,985,865, 6,993,486 and6,990,445. Gaze tracking has also been used as an input device. For moredetailed information on using computer eye tracking devices, see thefollowing references, incorporated herein by reference: Eye TrackingMethodology: Theory and Practice, by Andrew Duchowski, Springer (Jan.17, 2003); and U.S. Pat. Nos. 6,943,754, 6,886,137 and 6,758,563.

Recently, software programs have been developed that query leadingsearch engines to identify and list search results. For example, onecommercially available program trademarked under the name “CopernicAgent” offers a user interface and search toolbar that allow the user toemploy several search enhancement features, purportedly making internetsearches faster and easier than with standard search engine interfaces.Copernic Agent purports to give the user better search engine results byconsulting multiple search engines at once, combining results, removingduplicates, removing broken links, allowing the user to search withinresults, save result pages on the user's computer for offline browsing,sort results, e-mail results to colleagues, and generate search reports.The toolbar feature may be integrated to Internet Explorer or MicrosoftOffice, and allows the user to employ Copernic Agent to begin a searchdirectly from the user's web browser or word processor by right-clickingon a word or highlighted phrase to start a search on it. The search theuser starts with this toolbar is synchronized and replicated in, andresults reported in a Copernic Agent window (which is typically thewindow in from which the search was invoked). Additional enhancementspurport to allow the user to highlight and seek keywords within browsedpages, navigate within results, retain search history, annotate results,delete selected results and filter results. See Copernic AgentSpecifications sheet, included as Table 1 at the end of thespecification, below. See also U.S. Pat. No. 6,810,395, incorporatedherein by reference.

However, no existing internet search engine or toolbar allows a user whois reading, writing or otherwise viewing a document (such as awordprocessing document or web site article) to highlight or otherwisegroup multiple selected key words to be searched at any number ofselected search engines. Rather, for all known search engines, thequeries must be individually entered and searched. This is particularlycumbersome even on a full keyboard and with a large computer screen. Forsmall handheld computers, pda's or cellphones, such extensive text entryis tedious and nearly impossible.

Additionally, known methods of displaying results of searches typicallyrequire that the results be displayed in a wholly separate window,thereby necessitating the user to constantly change which window is inthe foreground for review. Furthermore, there is no automatic method ofincluding the returned results within a document or window that the useris composing or reviewing. Again, typically the user must cut and pastethe results into the document if so desired. Another problem in theprior art is that when one has selected a phrase to search, all of thewords of the phrase will be searched. It is not believed that anyprogram has the ability to have the search performed on only theimportant or keywords of the phrase and automatically eliminating commonwords (such as “and,” “a,” “the,” “of,” etc.).

The need exists for an improved internet search capability that allowsusers who are typing, reading or otherwise viewing documents or windowsto easily select, identify and group disparate words, text or graphicsinto logical connected search queries, which are then automaticallyrouted to any number of selected search engines. The need also existsfor an internet search capability that allows the user to select themanner in which the results are displayed or incorporated in thedocument that the user is reading or writing, and from which the searchwas generated.

SUMMARY OF THE INVENTION

It is an object of the invention to provide an improved, easilyconfigurable and robust internet searching tool.

It is another object of the invention to provide an improved graphicaluser interface for enhanced and robust internet searching.

It is another object of the invention to provide an improved internetsearching tool that allows multiple search queries to be easilygenerated from pre-existing written text, such as internet pages, wordprocessing documents, spreadsheets, emails, etc.

It is another object of the invention to provide a search engine thatallows internet searching to be done on graphics, such as pictures,images or figures, or on sounds.

It is another object of the invention to allow for relevancy managementof a multi-word search queries by either manually selecting proximityparameters, or allowing proximity to be automatically determined basedon the actual proximity of the search terms used to make up the searchphrase as appearing within the underlying document.

It is another object of the invention to allow a user to highlight aphrase of connected words to generate the basis for an internet searchphrase, and then to eliminate unwanted words from the highlighted phraseby common input devices, such as by returning to the highlighted phraseand left, right or double clicking on the unwanted words within thehighlighted phrase.

It is another object of the invention to provide an internet search toolthat allows search queries to be generated by highlighting existing textor graphics in a document or web page, rather than by typing in queries.

It is another object of the invention to provide an enhanced internetsearching tool that allows devices with limited screen sizes and/orkeyboard sizes to perform robust searches, with minimal typewritten textentry.

It is another object of the invention to provide an improved internetsearching tool that allows results to be displayed, reviewed, edited oreasily embedded or incorporated into existing documents.

It is another object of the invention to provide an improved internetsearch menu, toolbar or window that can be installed as a plug in on anytext or graphics reading or generating program, such as word processors(Word, Wordperfect, Write, etc.), presentation (PowerPoint, etc.), email(Outlook, Outlook Express, Eudora, etc.), or web browser (Firefox,Mozilla, Netscape Navigator, Internet Explorer, etc.).

It is another object of the invention to provide an improved internetseraching tool that allows all or part of the content of the web pagesfound as a result of the search to be selectively embedded into theexisting documents.

It is another object of the invention to provide an improved internetsearching tool that automatically generates footnotes or endnotes inwritten documents, wherein the footnotes or endnotes are based uponselected search results and are keyed to the search terms within thedocument responsible for generating the search.

It is another object of the invention to provide an improved internetsearching tool that gives the user greater control over what isdisplayed as a result of the search.

It is another object of the invention to allow a user to select a phrasein a text document, and then perform an internet search thatautomatically excludes the common or non-substantive words found in thephrase.

It is another object of the invention to provide an improved internetsearching tool that allows the user to select any of a number of searchengines to perform the search, and to select the number of results to bedisplayed from each engine.

It is another object of the invention to provide an improved internetsearching tool that allows the user to select how much text from eachresult is to be displayed.

It is another object of the invention to provide an improved internetsearching tool that automatically performs a spell checking operation ona search phrase, before conducting the search.

It is another object of the invention to allow text from internet searchresults to be copied or pasted into a document in the document's defaultor other selected format, not in the format of the web page.

It is another object of the invention to provide an improved internetsearching tool that allows a user to select how much web page content ofeach search result to download and either embed or store off line forlater review.

It is another object of the invention to provide an improved internet orweb based searching tool that allows robust searches to be generated andsaved on devices with limited keyboard input, such as on pda's, cellphones, organizers, etc.

The above and other objects are achieved by systems and methods thatgenerate an internet search phrase and conduct an internet search fromwithin an existing document. In a first form, the systems and methodscomprise selecting from within the document distinct first and secondsearch terms. Depending on the specific form of the invention, thesearch terms may be selected by highlighting the term with any of avariety of available manual computer input devices. Alternative forms ofinput devices include a keyboard, mouse, touchpad, touch sensitivescreen, eye gaze tracker, and speech recognition device, etc. The firstand second search terms are routed to an internet searching program(e.g., a search portal) in the form of a first defined search phrase.The internet searching program can take a variety of forms, includingthe standard search portal, search tool bar embedded in the programdisplaying the document, or a stand alone program such as CopernicAgent. The search phrase is employed to conduct a search on theinternet. The results of the internet search are returned to theoriginal document in a form that is linked to the first and secondsearch terms of the document.

Depending on the specific form of the invention, the results may bereturned to the document in many possible alternatives that are linkedto the first and second search terms. For example, the results may bereturned as footnotes, endnotes, hover notes, pull down menus orwindows, or comment notes linked to each of the search terms. Stillfurther, a variety of different types of search terms may be used,including words, graphics, pictures, images, numbers or text. The searchterms may be selected from any variety of document types, including wordprocessing documents, spreadsheets, emails, presentations, internetpages, etc. In a further modified form of the invention, the number ofwords separating the selected search terms is applied as a proximitylimiter in the internet search. For example, if the search terms areseparated by 20 words in the document, then the internet search willreturn only those results containing the search terms within the sameseparation limit of 20 words.

The systems and methods further allow the user to select the type andamount of information displayed, embedded, returned etc. as a result ofthe search. For example, the search results may be returned in the formof data defining the address of internet web sites found as a result ofthe internet search (e.g., as a URL), or alternatively, the user mayselect the number of individual web sites to return as a result of thesearch. Still further, returning the search results to the text documentcan include automatically generating a summary or abstract, or returninga selected amount of the text (e.g., 50 words) of the found internet websites.

The above and other objects are also achieved by systems and methodsthat generate an internet search phrase and conduct an internet searchfrom within an existing document. The systems and methods allow the userto select from within the document one or more search terms to form afirst search phrase, and selecting one or more search terms to generatea second search phrase. Preferably, the first and second search phrasesare different. However, one or more words in each search phrase may bethe same. Additional search phrases may also be selected. The multiplesearch phrases may be individually, or together, routed to an to aninternet searching program. If desired, the search phrases can be routedto the same or different search engines, or to multiple search engines.The selected internet search engine(s) conduct(s) the internet searchfor each search phrase, and return(s) the results to the document in aformat linked to the respective search phrase(s) that generated theresults.

In accordance with the invention, the search phrases can each compriseone term, or multiple terms. In a modified form of the invention, thedifferent search phrases, and the terms that make them up, can behighlighted in different colors. The respective search results can bereturned to the document linked to the corresponding search terms withthe same colors. The user may elect to have the search terms or phrasesspell-checked before they are routed to the search engines. The user mayalso select the number of results to return for each search, andfurther, may elect to return either a selected amount of the text ofeach result, or a summary of each result. The results may be returned tothe document in the same format as the contents of the document, and maythereafter be edited or used to launch a web browser to view thecorresponding web site. Alternatively, superscripts may be used to linkthe search terms to the search results, which appear as correspondinglynumbered footnotes or endnotes. It is contemplated that the resultsreturned by the search engine or program may be modified or furtherrefined before returned or displayed in the document which formed thebasis for the search.

The above and other objects are achieved by methods that generate aninternet search phrase and conduct an internet search from within adocument, comprising selecting from within an existing document a groupof connected substantive and non-substantive words to form an initialsearch phrase and then applying a filtering procedure to eliminate thenon-substantive words from the initial search phrase. This results in arefined first search phrase comprising only the remaining substantivesearch terms from the originally highlighted phrase. The refined firstsearch phrase is then routed to an internet searching program, whichconducts a search of internet web pages and returns the results to thedocument in a format linked to the refined search phrase, as discussedabove.

The preferred embodiments of the invention presented here are describedbelow in the drawings and detailed specification. Unless specificallynoted, it is intended that the words and phrases in the specificationand the claims be given the plain, ordinary and accustomed meaning tothose of ordinary skill in the applicable arts. If any other specialmeaning is intended for any word or phrase, the specification willclearly state and define the special meaning.

Likewise, the use of the words “function” or “means” in theSpecification or Description of the Drawings is not intended to indicatea desire to invoke the special provisions of 35 U.S.C. 112, Paragraph 6,to define the invention. To the contrary, if the provisions of 35 U.S.C.112, Paragraph 6 are sought to be invoked to define the inventions, theclaims will specifically state the phrases “means for” or “step for,”and will clearly recite a function, without also reciting in suchphrases any structure, material or act in support of the function. Evenwhen the claims recite a “means for” or “step for” performing a definedfunction, if the claims also recite any structure, material or acts insupport of that means or step, or that perform the function, then theintention is not to invoke the provisions of 35 U.S.C. 112, Paragraph 6.Moreover, even if the provisions of 35 U.S.C. 112, Paragraph 6 areinvoked to define the claimed inventions, it is intended that theinventions not be limited only to the specific structure, material oracts that are described in the preferred embodiments, but in addition,include any and all structures, materials or acts that perform theclaimed function, along with any and all known or later-developedequivalent structures, material or acts for performing the claimedfunction.

DESCRIPTION OF THE FIGURES

FIG. 1 depicts a typical word processor window having a document withtext within its body.

FIG. 2 depicts a user interface of word processor of FIG. 1 withadditional search tool bars and buttons.

FIG. 2A depicts the user interface of word processor of FIG. 2 withadditional search tool bars and buttons installed in accordance with thesearch program known under the trademark “Copernic Agent.”

FIG. 2B depicts a user interface for a typical internet search browsersuch as Microsoft Internet Explorer, with search tool bars and buttonsinstalled in accordance with the search program known under thetrademark “Yahoo Toolbar.”

FIG. 2C depicts the return of search results to a user of a typicalinternet search browser such as Microsoft Internet Explorer, after asearch was initiated using search tool bars and buttons installed inaccordance with the search program known under the trademark “YahooToolbar.”

FIG. 2D depicts a user interface for a typical internet search browsersuch as Microsoft Internet Explorer, with search tool bars and buttonsinstalled in accordance with the search program known under thetrademark “Yahoo Toolbar,” “Google Toolbar” and “Copernic Agent.”

FIG. 3 depicts highlighting of search words within the document text,and assignment of search phrase categories via a popup menu, inaccordance with one form of the present invention.

FIG. 4 shows a typical existing form of popup menu.

FIGS. 5, 6 and 7 show various forms of popup menus in accordance withthe inventions.

FIG. 8 shows one form of a search result window according to the variousaspects of the invention.

FIG. 9 shows a method for indicating search terms according to thevarious aspects of the invention.

FIGS. 10A and 10B show methods that conduct searches according tovarious aspects of the invention.

FIG. 11 shows methods that embed search results as footnote or endnotesaccording to the various aspects of the invention.

FIG. 12 shows methods that embed a hover-initiated display of searchresults according to the various aspects of the invention.

FIG. 13 depicts a screen shot from a third party internet searchprogram, Copernic Agent.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention provides the capability to easily conduct variousinternet searches using words or phrases from an existing document asquery terms, and then return the results for use in the same document.It is contemplated that, when installed, the present invention willinclude any of a new toolbar, tool bar buttons, information pop up ordrop down menus, etc., that will be accessible from the window toolbaror sidebar areas, or by right or left mouse clicks where appropriate,(e.g., on selected words or phrases, menu items invoking sub-menus,etc). The invention is particularly applicable when robust searches arerequired, or when the computing device has cumbersome or limitedkeyboard or input device (such as a pda, cell phone, tablet pc, etc.).

The invention is best understood by explanation of its operation fromwithin a familiar framework, such as composing a document that exists inMicrosoft Word. However, as will by understood by those skilled in theart, the invention is applicable to any of the various documentcomposing or reviewing programs such as Microsoft Word, Open OfficeWrite, Adobe Acrobat, Outlook, Wordperfect, Eudura, Outlook Express,etc., in any of the various configuration of such software, (e.g.,desktop version, mobile version, table PC version, etc.) and regardlessof the underlying code used to develop such software, (e.g., C, C++,Visual BASIC, JAVA, etc.).

In one form of the invention, a user is viewing a word processingdocument on a given topic. For example, see FIG. 1, which depicts arepresentative word processing “window” which will serve as a model fora description of various features and operations of the invention. Inthis case, the program is Microsoft Word. However, the window shown inFIG. 1 may just as easily be the window in a presentation program, or ina web browser. As is typical in the art, there is an area at the top ofthe screen that includes both “word” menus and icon menus. By clickingon the menus or icons, other nested menus are initiated, allowing theuser to select various operations useful to any number of given tasks.

Referring to FIG. 2, an additional toolbar 204 is shown, known under thecommon name “Copernic Agent Toolbar.” Also shown is a second tool barnumbered 202, associated with Adobe Acrobat. The Copernic Agent toolbar204 allows the user to type in search terms, and click the SEARCH button206 to initiate a corresponding search on the internet. Once the SEARCHbutton 206 is clicked, the actual Copernic Agent program is launched ina separate window (not shown), at which point the internet search isseparately initiated and conducted, and the results indicated in theseparate window (not shown).

Alternatively, and referring to FIG. 2A, the user may highlight multipleconsecutive words 208 in the text file and right click on thehighlighted words to launch a menu 210 that appears with an operationentitled “Search Using Copernic Agent” 212 at the bottom. If the userinitiates this SEARCH operation, the user is again taken to the separatewindow where the Copernic Agent program has launched, and at which pointCopernic Agent operates in its normal manner.

While this known form of a search “toolbar” is a useful searching tool,it highlights several of the problems with existing search methods. Forexample, using the Copernic Agent toolbar, only one or more connectedwords may be searched, the user must actually initiate and review thesearch results in the separately launched Copernic Agent window, onlyone search can be run at a time, and the results returned to theexisting word processing program.

Referring now to FIG. 2B, another search toolbar 214, known under thetrademark “Yahoo Toolbar” is shown embedded in Microsoft's InternetExplorer. A Yahoo news page is also shown in the window of FIG. 2B, withan article on a recent labor protest in France. Using the Yahoo Toolbar214, the user may again highlight words such as “Eiffel Tower,” as shownat 216 in FIG. 2B. A short delay after completing highlighting of theterms 216, a small Yahoo symbol 218 appears next to the highlightedterms 216. By clicking on the small Yahoo symbol 218, a nested searchmenu 220 appears, with several search options. One of the options is“Search the Web for ‘Eiffel Tower’”. By moving the cursor over this menuitem and clicking a separate Yahoo SEARCH results window 222 willappear, as shown in FIG. 2C.

Referring now to FIG. 2D, Microsoft's Internet Explorer is shown with aYahoo news story on a labor protest in France. The computer has beeninstalled with the Yahoo Toolbar, Copernic Agent, and the well knownGoogle Toolbar. Even though none of the menus for the programs are madevisible, when the words “Eiffel Tower” are highlighted at 224, the usermay right click on the highlighted terms, causing another nested menu226 to appear. From this menu 226, the user may select to search the webfor the highlighted terms “Eiffel Tower” using either the Google Searchline 228, the Yahoo Search line 230, or Copernic Agent Search line item232. Various other operations may also be selected, including searchingthe computer desktop 234 or Google Earth 236.

Again, while these known forms of embedded search “toolbars” are usefulsearching tools, they still further highlight the problems with existingsearch methods. For example, using the Yahoo Search toolbar, only one ormore connected words may be searched, the search can only be done usingYahoo's portal, only one search can be run at a time, and the resultscannot be embedded into the existing word processing program. When theGoogle search operation 228 is selected, the user is no longer able toview the news story he or she was viewing at the time the search wasgenerated, as the Google search operation returns the results in thecurrent window. Additionally, the Google Search toolbar has many of thesame disadvantages of the Yahoo Toolbar methods, described above.

Referring now to FIG. 3, the advantages of the present invention becomeapparent. To conduct a search, the user can highlight a single word, ora number of separate words or phrase(s) in the document by the familiarmethod of double left clicking the word or by clicking and holding themouse button while he drags the cursor to highlight the word or phrase.Of course, any equivalent form of highlighting can be used, such asusing a touchscreen, eye gaze tracking, speech recognition (such as thatemployed in common speech recognition programs allowing voice control ofword processing programs, such as, for example, that sold under thetrademark “Dragon Naturally Speaking”) or any other applicable texthighlighting system or method. In particular, it is contemplated thatany and all forms of computer input devices may be used, such as, forexample, those described in the references incorporated in theBackground of the Invention.

For example, assume the user wishes to conduct a more narrow searchusing the following spaced apart terms found in the article: “France”302, “Eiffel Tower” 304, “protest” 306 and “labor law” 308. In otherwords, the user wishes to search the web using the search phrase “FranceEiffel Tower protest labor law.” None of the current toolbars will allowthe user to select each of these terms and conduct a search. However, inaccordance with the present invention, the user may select each of theterms or individual phrases, click or delay over the terms or phrases,or move the cursor to operate a menu or icon in a toolbar located at thetop of the screen. Doing any of the above, or by using equivalenthighlighting and menu selection operations, the user may initiate aSEARCH menu 310. The user may then select a search grouping for eachterm.

In this example, and in accordance with one form of the invention, theuser highlights and clicks on the term “France” 302, calls up the SEARCHmenu 310, and assigns ranking “1” or alternatively the color red to thatterm. At that point, the term France 302 would either be highlighted redor change to a light red text color or hue. Next, the user wouldhighlight the phrase “Eiffel Tower” 304, call up the SEARCH menu 310,and assign ranking “1” or alternatively the color red to that phrase. Atthat point, the phrase “Eiffel Tower” 304 would also change to a lightred (but still transparent) color or hue, thus visually indicating thatit is in the same search phrase as “France” 302. The same actions arerepeated for the remaining search terms that the user desires to be inthe same search phrase.

Similarly, the user may also wish to conduct a second related butdifferent internet search on a phrase made of the words and phrasesappearing later in the same article: “unions” 312, “leftist opposition”314, “Dominique de Villepin” 316. Once again, in accordance with oneform of the invention, the user highlights and clicks on the first term“unions” 312, calls up the SEARCH menu 310, and assigns ranking “2” oralternatively the color yellow to that term. At that point, the term“unions” 312 would either change to a light yellow highlighting or text(but still transparent) color or hue. Next, the user highlights thephrase “leftist opposition” 314, calls up the SEARCH menu 310, and againassigns ranking “2” or alternatively the color yellow to that phrase. Atthat point, the phrase “leftist opposition” 314 would also change to alight yellow highlighting or text color or hue, thus visually indicatingthat it is in the same search phrase as the term “unions” 312. The sameactions are repeated for the remaining search terms that the userdesires to be in the second search phrase.

If desired, one of the search terms from the first search phrase, suchas “France” 302 can again be selected and grouped also in the secondsearch phrase, by also being assigned the search phrase number 2. Thus,the invention provides the flexibility for key search terms to berepeated in different search phrases. In such circumstances, the coloror highlighting of terms present in multiple search phrases can be madeto flash, or may be assigned another unique color or indicator.Alternatively, this common key word may have part of the wordhighlighted in one color while another part of the word is highlightedin another color. For example, the top half red with the bottom halfyellow according to the preceding examples and color selections.

As an alternative, or in addition, each term in a search phrase can havean alpha-numeric indicator assigned to it in the form of a superscript,subscript or otherwise with the same number (or letter) as the searchphrases to which it is assigned. Though not shown, using the exampleabove and referring again to FIG. 3, each of the terms in the firstsearch phrase (i.e., “France” 302, “Eiffel Tower” 304, “protest” 306 and“labor law” 308) will be assigned a superscript “1.” Similarly, each ofthe terms in the second search phrase (i.e., “unions” 312, “leftistopposition” 314, “Dominique de Villepin” 316) will be assigned asuperscript “2”. Still further, if the term “France” 302 was alsoincluded in the second phrase, then both superscript “1,2” will appearwith that term. In this familiar manner, the user can also see visiblyhow each term is grouped for search purposes.

In yet another alternative, the user defines the search phrase byhighlighting a phrase of consecutive words that includes both desiredsubstantive key words and undesired non-substantive words (such as “a,”“and,” “the,” etc.). The user may then indicate with input device (suchas by right, left or double clicking) which non-substantive words todelete from the search phrase, thereby leaving only the desired,substantive key words. Still further, the use may use this method toeliminate substantive words that are not desired to be operate as keywords. Alternatively, the user may apply automatic filtering to thephrase to automatically discard non-substantive words.

As will be discussed further below, and particularly when using theinvention in text editing programs such as email or word processingprograms, the invention provides the option of returning the searchresults (or some selected number of “top” results) to the actualdocument in the form of footnotes or endnotes. The user will then beable to “jump” directly to the results by clicking on any of thehighlighted terms associated with the desired search phrase. However,using the superscripts in the body of the viewed documents also enablesthe user to “jump” easily from the search term to the desired group ofresults by clicking on the specific superscript. Thus, using as anexample the term “France” 302 being used in both search 1 and search 2in the example above, the user can click on either superscript “1” or“2” to jump to the corresponding group of specific results.

In this manner, the user has, while viewing a single document, formedtwo fairly specific and meaningful, but different, search phrases, eachmade up of multiple words dispersed throughout the article. Thisspecific form of menu 310 is shown for example purposes only. Any methodof highlighting the text, word or phrase, and causing a pop-up “SEARCH”menu to appear, may be used. Thus, for example, speech synthesis,touchscreen, eye gaze tracker, mouse balls, etc. can be used tohighlight the text or otherwise input selection data to the computer.Moreover, it is contemplated the user can select or initiate the SEARCHmenu of actions by selecting a special button on a toolbar installed inthe underlying program, hovering over the text, or clicking on it, orplacing the tooltip (i.e., cursor) over one of menu options typicallylisted at the top of the window (i.e., File, Edit, View, Insert, Format,Tools, etc.) and clicking. Still further, while numbers and colors areused in the search menu 310 as a convenient way to select and groupsearch terms, other alternative forms can be used (for example, evenusing sounds, icons or other graphic indicators, etc.). The significantpoint is to allow the user to individually select search terms and linkthem together to form search phrases. Also, while Microsoft InternetExplorer is the underlying application shown, in fact any text orgraphics program could be used (such as a word processor, presentationprogram, spread sheet program, email program etc.) as the underlyingapplication.

For example, and referring now to FIG. 4, one of the above-mentionedalternatives for invoking menu 310 is shown. In the embodiment of FIG.4, after the user highlights the search terms 302, 304, 306 or 308, theuser moves the cursor up to the “Tools” menu 316. By “pulling down” the“Tools” menu 316, a line entitled “Internet Search” 318 is revealed. Bycausing the mouse pointer to hover over or by moving the mouse pointeronto the Internet Search menu item 318, the nested “Search” Menu 310 maybe caused to popup or otherwise appear. Alternatively, the InternetSearch menu can appear as a “hidden” toolbar on the side or top of thescreen, appearing after the search key word is highlighted and thepointer is moved to the top, bottom or sides of the screen.

Thus, in accordance with the invention, the typical tool bar menus maybe augmented with vastly improved SEARCH features that will greatlyenhance the ability to efficiently conduct comprehensive internetresearch on selected topics that are being addressed in viewed textdocuments. In the simple example of FIG. 3, rather than having toseparately enter each keyword into the search menu, and viewing theresults in a separate window, the user may quickly highlight and groupkeywords in multiple related and focused internet searches, conduct thesearches in a seamless manner, and return the results within the samedocument he or she is viewing. Enormous amounts of mundane text enteringare saved, and complex and time consuming text copying are eliminated.

From the SEARCH menu, however invoked, the user may then select a searchgroup identifier, such as a color, number or equivalent indicator (e.g.,sound), to associate with the selected word or phrase. By invoking theSEARCH menu, the user highlights and groups keywords (or graphics) intodistinct search phrases by assigning unique indicators tocorrespondingly grouped key words. In this manner, the user preferablybuilds a number of search categories, associations or grouping of wordsor phrases that will be submitted to the search portal as the queryterms when the user initiates an internet search. As anotheralternative, the search terms can be spell checked before being routedto the search portals.

The specific search portals that may be used are variably selectable.For example, the SEARCH menu 310 includes provisions for assigning notonly a grouping indicator (i.e., the numbers “1,” “2,” “3” or colorsred, green, blue, etc.) to each search phrase, but also to select whichone or more search portal(s) should be used to conduct the search. Forexample, Search Group 1 may be routed to Google, while Search Group 2 isrouted to Yahoo, and Search Group 3 is routed to DogPile. Alternatively,the searches may be routed to a program such as Grokker or CopernicAgent.

In one form of the invention, the SEARCH menu 310 includes a“PREFERENCES” menu item 320. By selecting this option, the user caninitiate a sub-routine that allows the selection of preferences for allsearches. Then, if the default setting is acceptable, the user maybypass the operation of individually selecting the search portal to beused for each search phrase. However the user may also override thePREFERENCES setting by invoking the specific portals through the SEARCHmenu for each specific search phrase. For example, this may be done by“hovering” over the individual search phrase indicators 322 in menu 310.Hovering over any of the specific search indicators 322 will call up anested menu (not shown in FIG. 4) which will enable the user to selectany of the many well known search engines or programs for thatparticular search phrase.

Another example of the form of menus contemplated for use with theinvention is shown in FIG. 5. Preferably, a standard menu 502 in anyapplicable program is initiated in the normal procedure familiar tothose skilled in the art. Included on menu 502 is a “SEARCH” indicator503, which when selected, will pop up the SEARCH menu 504. For example,the user may select or highlight a desired search term, then mayinitiate menu 502 by any applicable or known method, such as speechsynthesis, left clicking, gaze tracking, etc. Once the menu 502 isinitiated, the user may select the SEARCH operation by similarly knownmethods, such as dragging the cursor down and releasing, singleclicking, double clicking, hovering, etc. on the word “SEARCH.” Doing sowill cause the more specific search menu 504 to pop up. The user then isallowed to initiate any of a plurality of actions specific to the SEARCHoperation. This can be done either by dragging the cursor from the“SEARCH” term over to the left or right on top of the now appearing menu504. The user can then move up or down on menu 504 to select any of themore specifically configured operations. For example, the user canselect the highlighting colors or class enumerations for groupingassociated search terms. Once search terms are grouped or otherwiselinked together, the user can again invoke menu 504 or an appropriatelydesignated hot key to initiate the internet search. Alternatively, theuser can invoke a separate “PREFERENCES” menu as described in moredetail below. Still further, the user can similarly invoke a submenuthat will allow editing of the results after the search is completed.

The above description of the “SEARCH” sub-menu 504 is given by way ofexample only. Instead of a sub-menu, a tool bar of icons can also beused. Still further, a disappearing side bar or hover bar can be used.Alternatively, speech synthesis programming can be invoked to bypassvisual menus. Also applicable to initiate the operations is a touchscreen, mouse, touch pad, or series of programmed hot keys. Thesevarious configurations are to be considered alternative equivalents tothe sub-menu 504 shown in FIG. 5 and described above. Likewise, insteadof the SEARCH indicator 503 being present on a menu 502, it too can beeliminated completely, allowing menu 504 to be invoked simply by leftclicking or hovering over the desired search term, by clicking on a menubar icon, or by employing speech synthesis. The point is to use existingand familiar “menu,” “icon,” or “toolbar” programming techniques ormethods to allow the user to easily group or link the various searchterms for the desired search phrases, initiate the SEARCH operations,define the PREFERENCES (see menu 602), or EDIT the results. Stillfurther, these goals are accomplished while eliminating significant textentering.

When the SEARCH is actually initiated, according to another aspect ofthe invention, a first linked category or group of the query terms (forexample, those highlighted in red or assigned the number “1”) forming asearch phrase are routed to selected search portal(s) as defined in theuser's preferences list of the invention. In one form, the search phraseis routed to the portal via an HTML message as is well known in the art.Similarly, the search results are received or communicated back to theprogram from the search portals. Again, the results may be returned viaHTML messages from the selected search portals.

Alternatively, when the computer on which the software is running isconnected to the internet, the invention can cause the user's webbrowser to be invoked in the background and to navigate to the searchengine(s) indicated to be used for searching. It can then automatically“paste” the search terms into the search portal's search bar and causethe search to be run. The invention preferably then pastes the resultsthat would be displayed in the web browser into an internal buffer, andthen to the document from which the search phrase was initiated, forinteractive use by the user (preferably by the user's preferencesettings).

When using this alternative approach, as will be appreciated by thoseskilled in the art, it is a design choice as to whether the web browseris actually displayed on the screen when invoked or is merely run withits window “hidden.” In either case, the search phrase comprised ofspecific search key words or terms is formulated from the vieweddocument, routed to the search engine or program, and the resultsseamlessly returned to the same viewed document in accordance withuser's preferences. This process is repeated for each phrase, oralternatively, all phrases are sent via a single activation of the“SEARCH NOW” command 324 shown in menu 310 of FIG. 3. FIGS. 10A and 10Bshow an exemplary method comprising a form of this aspect of theinvention.

Specifically, referring to FIG. 10A, a sub-routine of the inventionscans the document active in the search window for highlighted orotherwise indicated key terms, as shown at operation 1002. Next, thesub-routine sorts the search terms into separate search phrases inaccordance with the indicator (for example, color or number) selected bythe user, as reflected at operation 1004. As discussed below, variousfilters or spell checkers are then run, as indicated at operation 1006.In addition, proximity rules are applied, if selected by the user, tolimit search results to those “hits” in which the identified searchterms are within the same (or other selected) proximity as they exist inthe active document viewed by the user, as reflected at operation 1008.The sub-routine then determines for each separate search phrase theassigned search engines or programs, as reflected at operation 1010. Ifdesired, multiple search engines or progams may be selected for eachsearch phrase. The individual search phrases are then routed or sent tothe defined search engines or programs, as reflected at operation 1012.The appropriate search results from each engine are returned, filtered,pared and/or summarized as appropriate and as defined by the user'spreference settings, as reflected at operation 1014 and as described ingreater detail below. After the results are returned and filtered, theyare displayed in the active document in accordance with the user'spreferences, as indicated at operation 1016.

As discussed above, search results are returned for each search phraseand are then preferably checked and/or filtered according to specificuser preference settings. This filtering will include scanning todetermine if duplicate findings exist within the search results for thecategory or group arising from the use of the several disparate searchengines selected for such search. If such duplicates are found, they areremoved. Preferably, the scanning and comparing is done based on theURLs of “hits” returned by the search engines or programs, though othermethods are contemplated (such as actual comparison of results).Likewise, the results may be scanned and ranked according to relevance,and according to the user preferences, only a set number of uniqueresults will initially be returned to the document. However, in thissituation, the remaining search results (which were not returned to thedocument) are retained in a buffer for later use should they berequired.

For example, assume the user has set the search preferences indicatingthat the results returned to the document should be displayed in afootnote, endnote or hover window, and further, that only the five mostrelevant, non-duplicate, results from the search portal or program forthe first search phrase should be returned to the document. The user maythen click on any of the key word terms in the first search phrase, and“jump” to the five results (which will be contained either in acorrespondingly numbered window, endnote or footnote. Upon jumping tothe results, the user will see the five hyperlinked results and,preferably, also a summary of pre-defined length (e.g., 25, 50 or 100words, as set by the preferences menu). The user may also set in thepreferences menu an option to have the key words in the returned resultshighlighted in the same color corresponding to the specific searchgroup, as indicated in menu 310. The user may then proceed to review thereturned results, and if desired (either by clicking or selecting pulldown menus), eliminate individual results. As each result is eliminated,the next most relevant result stored in the buffer will automatically bedisplayed (in this example, as one of five results). In this manner, theuser may refine and focus the results. If desired, the user may alsoclick on the hyperlink typically contained in search results to previewor review the actual associated website in a separately launched window,or in a pop-up menu within the active document.

Although not shown in the figures, in a modified form of the invention,as the user is reviewing the search results, he may click on orotherwise indicate any of the search terms (or on the footnote orendnote indicator) to cause the associated search phrase(s) to pop up ina separate window(s). At that point, the user may alter or change thesearch terms or phrases, right or left click on the newly modifiedphrase, and cause a new search to take place, with the new searchresults appearing in yet another footnote, endnote, hover window, etc.

For example, if the user is reviewing Search 1, he may click on thesuperscript “1” and cause the entire associated first search phrase toappear. The user may then edit the first search phrase to change one ormore of the terms, and thereafter initiate the search as describedabove. The results will then preferably appear in a footnote, endnote,hovernote or pop-up window with the related superscript “1.1” or “1(a).”In this manner, the user may further refine his or her searches andsearch results, without losing the original search results. Once again,the user may review and eliminate various search results for search“1.1,” and if desired, conduct a modified form of search “1.1,” with theresults returned in a footnote, endnote or hover note assigned therelated superscript “1.1.1,” for example As a further alternative, theuser may conduct a second modified form of search 1, which are returnedin related window, footnote, endnote or hover note numbered “1.2.” Ofcourse, other forms of indicators (such as are commonly used in numberedor lettered wordprocessing outlining programs) can be employed andcustomized. While the above description shows a presently preferrednesting of results based upon modified searches (and still furthermodified) searches, other nesting forms are contemplated as well.

In the above manner, the user can easily and efficiently conductcomprehensive and varied searches on focused subjects within the viewedor active document, while at the same time easily and efficientlyreviewing, editing, filtering, recording and saving the results.Specifically, when the viewed document is saved to a disk, the searchresults (including all associated data, such as the hyperlink andsummaries) are also saved either within the document or as a linked fileto the document. Thus, in accordance with the invention, the results maybe displayed in varying formats according to preference settingsspecified by the user.

Exemplary preference menus are illustrated in FIGS. 6 and 7. Onecontemplated display preference is to display the results in a separatewindow that opens to show the individual results of the variouscategorized searches that performed (606). Preferably, the individualresults are color coded to match the color code of the search categorywhich generated a corresponding result. According to another preference,the results are displayed in the document being composed or reviewed asfootnotes, preferably as one footnote each for each separate resultreturned (i.e., for each hyperlink returned), with reference numerals tothe footnotes automatically generated and attached to the correspondingwords or phrases in the document which generated a given item of a givensearch result. Another preference preferably provides for the results tobe displayed as endnotes to the document, again, with preferablyautomatic numeric designation and number-attachment to appropriatewords. Preferably, the footnotes or endnotes are incorporated into thedocument through automated use of the Windows clipboard copy and pastefeatures by the invention, and using the formating routines of theprogram being used to view or compose the document to format and embedthe footnote/endnote. An exemplary method according to this aspect ofthe invention is depicted in FIG. 11.

One preferred method of automatically using the formating routines ofthe underlying program is to incorporate macro instruction commandstrings within the invention. To illustrate, the commands used toinstruct a word processor that the following information (which would bepreviously placed on the clipboard) for a popular word processingprogram (e.g., Microsoft Word) are contained within the inventivesystem's code. These instructions are invoked when the user wishes toembed the search result(s) as a footnote (for example) automatically bythe invention, and the clipboard contents would be copied to thefootnote location for embedding within the document. Preferably, theinvention also contains the instructions necessary for marking each keyword (i.e, the words highlighted for the search) with the number of thefootnote. This process is preferably repeated for each elemental searchresult (i.e., hit) obtained from the various search engines.

According to another aspect of the invention, the user can edit thesearch results obtained from the various search engines. A preferredexemplary edit invocation window is shown in FIG. 8. It is contemplatedthat the user can delete specific elemental search results (hits) orreduce the amount of information obtained in the search result (forinstance, edit the descriptive information typically returned for eachelemental search item) or specify some elemental search results to beembedded within the document while excluding other specific resultsreturned, etc. When indicated that a user wishes to edit results, it iscurrently preferred that a typical preexisting computer system editor beinvoked by the invention, such as windows notepad, or another instanceof WORD, or other editor for use as the editing window. The program inaccordance with the present invention may also include a text editor.

According to another aspect of the invention, the user can specify thatthe search results be hidden but linked to the specific keywords (i.e.,highlighted words) that generated the search results and popup fordisplay when the user hovers his tooltip (or mouse pointer) over any ofthe search words or phrases previously marked within the document andwhich were used to generate the search results. For example, the searchresults for words highlighted in red would preferably popup whenever theuser hovers his tooltip over words that had been highlighted red(preferably whether still currently highlighted or not). Similarly, thiswould occur for words in yellow, and so on. In this case, the resultsare preferably stored in a separate linked information file or files orstored in the currently displayed file under a separate field asinformation. Furthermore, the words in the current document file arelinked to this stored information file so that when a user hovers histooltip over the word or phrase so linked, the associated linkedinformation results (i.e., search results) for this word or phrase popup for display in an information window, similar to what is done withinternet hyperlinks when a user hovers his tooltip over an internethyperlink. FIG. 12 shows an exemplary method according to this aspect ofthe invention.

For example, according to one embodiment of this aspect of the presentinvention, a highlighted word, several disparate words, group of words,phrases, etc. result in effectively linking the word(s) to theinformation embedded and which will popup when the user hovers histooltip over the previously highlighted items. In this manner, thelinked word can now be associated with HTML type code typically used forhover popup tooltips commonly used in the internet art when one hovershis tooltip over a hyperlink and has information popup describing thelink or giving its URL address. HTML-type code would include a hoverdelimiter wherein is stored the results of the associated internetsearch element(s) such that, when a user hovers his cursor over thehighlighted word, the results of the search are immediately displayed.While this aspect of the invention is described with HTML-typefunctionality, it will be appreciated by those skilled in the art thatthere are many other methods of achieving the same result such as XMLall of which would fall within the spirit and scope of the invention.

Popup information boxes are typically only displayed while the cursorhovers over the hover-enabled words, thus one typically cannot move hiscursor into the hover information box to execute a link that may havebeen returned by the executed search. Therefore, according to anotheraspect of the invention, when hovering over a hover-enabled word, shouldthe user right click his mouse, for example, there appears the familiarpopup menu augmented with the links to webpages returned by the search(and which are preferably popped-up in the information box opened whenhovering). By moving his cursor to the link in the popup menu, a usermay simply click it and be taken, via his web browser, to the internetpage so linked.

It is further contemplated that the search results be bound to thedocument file, whether by being embedded within the document file or asseparate information files which are preferably linked or coupled to thedocument file, such that the search results are carried with thedocument file. Therefore, if a user sends the document file as email,moves the document file from location to location, etc., the searchresults stay with the document file. In this way, a user may, forexample, compose a document for emailing, perform searches on terms hefeels are of interest, obtain search results, embed the search resultswithin the document (or as an attached information file) for popupviewing when the tooltip hovers over a search word, and then email thiswhole composition to another user.

The receiving user can then read the document, hover his tooltip oversearched words (preferably, whether known to him to have been searchedor not) and have the benefit of the sender's search results popup fordisplay as he peruses the document. Furthermore, it is contemplated thatthe receiving user can right click his mouse on a previously searchedword or phrase in this example, to display a popup menu havinghyperlinks to webpages which were found during the sending user'ssearch. The user can then click one of the links and be taken to thewebpage so linked without ever having performed a search of his own. Inthis way, the search results found for specific words or phrases in thedocument generation phrase can be made an integral part of the document.The receiver of the document may also wish to perform searching on thedocument in the manor described above. He may wish to augment theresults he received, change results he received, etc., and the inventioncontemplates such activity by allowing him to edit results, initiate newsearches, embed his result along with or in replacement of the sender'sresults, etc.

According to another aspect of the invention, relevancy management ispreferably performed. For instance, if a user has selected a group ofwords or phase(s), the invention allows the user to preferably selectwhether the search should be done on all the words, any of the words, anexact match of the phrase, or allow the addition of words that must notappear in the found document (exclusionary words). Search portalsroutinely support this type of query (see, e.g., Google.com advancedsearch capability).

Search portals may allow for queries to be performed on keywords orphrases that must bear a certain relationship to one another. Forexample, a user specifies a search for all documents containing the word“search” within 5 words of “engine.” This type of search is typicallycalled a proximity search. In this way, a user can describe searchqueries that return more relevant documents. In a preferred embodimentof this aspect of the invention, the invention preferably allows a userto specify such relationships of the search terms. Alternatively, theinvention specifies the relationship of the words or phrases from theirrelationship in the underlying document. To illustrate this aspect ofthe invention, consider the phrase “the invention relates to therecording of audio sounds on a magnetic wire,” and assume the userwishes to perform a proximity search on the terms “invention” and“audio.” He may specifically specify the proximity parameters, e.g.,invention within 10 words of audio, or according to this aspect, theinvention determines that the word “invention” is within 6 words of“audio” and uses this information for the proximity parameter and ingenerating the proximity search. Alternatively, the invention may beinstructed to chose proximities from a set of proximities rounding up ordown from those found in the underlying document. To illustrate thispoint, assume that the proximity of the words in the exemplary phrase is6. Further assume that this aspect of the invention is constrained byuser specification to choose proximities from the set {5,10,15,20, . . .} by rounding up. In this case, the program specifies the search to be“invention” with 10 words of “audio” automatically. As mentioned, theinvention contemplates rounding down, use of formulas for proximitygeneration, etc.

In another aspect of the invention, relevancy analysis is performedindependently of the search portal's capabilities. For example, if auser wishes to do a proximity search but the search portal(s) do notsupport proximity searching, the invention can independently determineproximities of the search words in search results returned by the searchportal(s). Specifically, according to this aspect, the inventionpreferably analyzes the returned results scanning them for the searchwords and the location of the search words and removing results notfound to be within the relevancy specifications provided by the user. Asa preferred alternative, the invention can cause the user's web browserto go to the webpages linked in the search results and use the webbrowser's FIND capability or otherwise to search the webpage text forthe search words and determine their relative location to one anotherand exclude webpages not falling within the dictated relevancyrequirements.

According to another aspect of the invention, the user can specify thatcertain common words are automatically removed from the search. Suchcommon words are preferably specified in a file maintained by theinvention and may include words such as “the,” “a,” “in,” “with,” “an,”etc., for example. It is further preferred that the list of common wordsbe user modifiable. According to this aspect of the invention, thesewords would be removed from the search terms sent to search portals. Forinstance, say the user highlighted the phrase “what color is an apple?”to be searched. According to this aspect of the invention and assumingthe words “what,” “is” and “an” are in the common word exclusion list,the invention would then send query terms “color” and “apple” to thesearch portal. Preferably, this feature is user selectable, for examplefrom the preferences menu, and alternatively, may be automaticallyturned off for certain searches, for example when the user has specifiedthat the search is to be conducted on all the words or as an exactphrase. In accordance with this aspect of the invention, the user mayadd words to the exclusion list by highlighting a phrase to be searched,and then selecting from within the phrase (via any applicable inputdevice, such as by left or right clicking, hovering over, or speaking ina speech recognition system) the words to be “excluded” from the search.The user may select whether the word may be added to the exclusion listfor all searches performed from the specific active document beingviewed, for example, until the computer is restarted, or for thisspecific search only. Once added to the exclusion list, the next time asearch phrase of connected words is highlighted, the words from theexclusion list will be automatically deleted from the search phrase.

Mistyped or misspelled words being searched upon is a most frustratingexperience, and according to another aspect of the invention, selectedwords and/or phrases are preferably spell-checked before being sent to asearch portal. Preferably, the spell checker used by the invention issimply that used in the underlying document composing or viewingsoftware, and alternatively, is a separately provided feature of theinvention. It will be appreciated by those skilled in the art that spellchecking routines are well understood in the art and incorporation ofthis technology into this aspect of the invention is straightforward.Since many times acronyms or weird spellings of words are desired to besearched, it is contemplated that spell checking be capable of beinguser enabled/disabled.

According to another aspect of the invention, the user can highlight andmark portions of a word in the document for searching. As a beneficialalternative to this aspect of the invention, the user can indicate thathe wants the root form of the selected words to be searched on, ratherthan the selected, literal word(s) themselves. For instance, specifyingroot form searching would turn “hunting” in to “hunt,” “colored” into“color,” “planets” into “planet” “alternatively” into “alternative,”etc. Grammar modification of this sort is well understood and is oftenperformed by popular word processing programs; see, for example,Microsoft WORD grammar suggestion capability. It is contemplated thatthe invention mimic this capability or simply use the grammar dictionaryof the underlying document display or creation software in which thedocument is being viewed.

In a preferred form of the invention, the user may also select a thirdparty search program such as Copernic Agent Professional as thepreferred internet search program, rather than have the invention routethe search request to the search portal(s) directly. This would enablethe user to configure the third party program as a stand alone program,with all the preferences and personal settings that the user desires(see Table 1, below). The search tools of the present invention, onceinstalled in the program being viewed by the user (such as a wordprocessor, spreadsheet, presentation program, internet browser, etc.)would then interface between the program controlling the viewed documentand the third party internet searching program.

Purportedly, Copernic Agent includes the specifications set forth inTable 1, repeated at the end of the specification, and includesintegration with both windows and various word processing, scheduling,email, spreadsheet, presentation and browser programs. Specifically,Copernic Agent purports to include the following integration:

Windows Integration

-   -   Availability of a Copernic Agent shortcut on the Windows        desktop.    -   Availability of a Copernic Agent shortcut on the Windows Quick        Launch toolbar.    -   Availability of a Copernic Agent search extension in the Windows        Start menu through the Search command.

Software Integration

-   -   Availability of a Copernic Agent bar enabling users to conduct        searches from Word 2000/2002, Outlook 2000/2002, Excel 2000/2002        and PowerPoint 2000/2002 (commercial versions only).    -   Possibility of configuring Internet Explorer 4x (or later),        Netscape Navigator/Communicator 4.x or 6.x or Opera browser, the        system default browser or another compatible browser as the        Copernic Agent default browser.    -   Availability of displaying a result list in an HTML result page        via the default browser.

Internet Explorer Integration

-   -   Availability of the Copernic Agent Toolbar that allows users to        trace keywords in Web pages using a highlighting function and        tracing buttons, create new searches, set page change tracking,        and so on (IE 5.0 or later required).    -   Replacement of the Internet Explorer search bar by the Copernic        Agent Search component, allowing use of Copernic Agent when the        Search button of the Internet Explorer toolbar is clicked.    -   Possibility of launching the Copernic Agent Search component for        a selected word or group of words directly from any Web page        displayed in Internet Explorer using the Search button or a        command added to the right-click menu.    -   Additional button on the Internet Explorer toolbar and command        added to the Internet Explorer Tools menu in order to launch        Copernic Agent (IE 5.0 or later requires)    -   Availability of a Copernic Agent result bar with advanced        browsing features that may be displayed via Copernic Agent or        the browser.    -   Availability of a HTML search history page to make selection of        result lists easier among existing searches.        Referring to FIG. 13, a screen shot is shown for Copernic Agent        Professional. The screen shot depicts a standard search window        1300, a search 1302 comprised of the words “Windows XP        Professional” and a results window 1304 with the search results        depicted in accordance with the user's defined preferences        (here, sorted by relevancy).

In accordance with the present invention, all of the features ofCopernic Agent can be personally configured and defined by the user. Aninterface program operates between the program controlling the vieweddocument and Copernic Agent Professional. More specifically, theinterface program of the current invention would primarily communicatewith the Search window 1300 and Result window 1304 of Copernic AgentProfessional, which may be running in the background. Thus, when theuser viewing a document defines a search phrase in accordance with themethods of the invention described, for example, in connection withFIGS. 3 and 4, above, and hits the “SEARCH NOW” operation 324, thedefined search phrase is seamlessly routed by the interface program tothe Search box 1300 of Copernic Agent Professional. Copernic AgentProfessional then conducts the search in accordance with the specificpreferences defined by the user, returning the Results in window 1304 asshown in FIG. 13.

Alternatively, Copernic Agent may return the results to an HTML resultspage (not shown). More specifically, Copernic Agent provides the abilityfor the user to manually export results. This feature allows the user toexport search results to a disk in the following file types: HTML, Word(.doc), (.txt), Extended Markup Language (.xml) or Comma Separated(.csv). Specifically, to Export Search Results from Copernic Agent, theuser must:

To Export Search Results:

-   -   1. Select a search from the search history. If the user wants to        export all search results, go to step 3.    -   2. If the user wants to export selected results only, select        each of them using the left mouse button while holding down the        Ctrl key.    -   3. Select the Export command from the File menu.    -   4. Select the All Results or Selected Results command, as        required. The Save As window will then open.    -   5. Select a destination folder.    -   6. Enter a file name.    -   7. Select a compatible file type.    -   8. Click Save to close the Save As window.

To Export Searches:

-   -   1. Select a search from the search history. If the user wants to        export several searches from the currently opened search folder,        select them using the left mouse button while holding down the        Ctrl key.    -   2. Select the Export command from the File menu.    -   3. Select the Selected Searches command. The Save As window will        then open.    -   4. Select a destination folder.    -   5. Enter a file name.    -   6. Select a compatible file type.    -   7. Click Save to close the Save As window.        In accordance with the current invention, the interface program        will perform the above operations seamlessly. If multiple        searches have been routed to Copemic Agent, for example, and the        results generated, then the interface program will select and        export the search results for each search. If only one search        was routed to and conducted by Copemic Agent, then only those        search results will be exported. The form of the exported data        is a design detail, and would depend on the underlying type of        program that is generating the document viewed by the user and        from which the searches were generated. In an alternative form        of the invention, the results may be automatically placed onto        the windows clipboard from the Copemic Agent display window (or        buffer), or still further, may be automatically cut and pasted        from the Copemic Agent display window (or buffer) into another        buffer or file.

Once the interface program seamlessly copies the content of the CopemicResults window 1304 (or HTML results page) into a buffer or workspacememory, the results are analyzed, filtered and modified in accordancewith the preferences set by the user in accordance with the presentinvention, as described earlier in the specification in connection withFIGS. 3-12. For example, the number of results may be further limited,search terms will be highlighted in the proper colors, formatting willbe adjusted to the proper settings, and the results are optimized fordisplay in the viewed document as defined by the user. Thereafter, thefiltered results are communicated from the buffer to be displayed in theviewed document.

In accordance with this aspect of the invention, it is preferred thatthe original search results as exported from Copemic Agent be retainedin the buffer. In this manner, as the user modifies, edits or deletesthe results returned to the viewed document, additional results may befiltered and communicated for display. Thus, for example, if the userdeletes one of the search results, the next most relevant result fromthe buffer will be communicated to the viewed document for display. Inaddition, if the user alters the defined search phrase as discussedabove, he can select as an option that the modified search be conductedonly on the results currently stored in the buffer from the priorsearch, and further-refined results substituted (or unique additionalresults) displayed in the viewed document (for example, as the five top“hits”).

The above description does not describe the detailed programming code tocarry out the defined operations, as it is a manner of design choice inaccordance with the references described in the Background of theInvention. Still further, instead of interfacing with an existing thirdparty search program such as Copernic Agent Professional, the underlyingfunctionality of such a program may be incorporated into the presentinvention. It is preferred, however, that the present invention comprisea relatively simple interface program that is installed to operate as atoolbar or menu in existing programs, to interface with existing searchprograms or internet search portals.

TABLE 1 Copernic Agent - Specification Sheet Searches Search engines andinformation sources grouped under categories corresponding to theirspecialization. Search categories grouped in domains of interest tosimplify selection. Possibility of contacting up to 32 informationsources or links simultaneously in order to search results, verifybroken links, extract data from Web pages and download pages.Availability of a free version with no expiration date, Copernic AgentBasic, giving access to more than 90 information sources within 10search categories: The Web (plus one of the 14 language or country-basedcategory), Newsgroups, E-mail Addresses, Buy Computer Hardware, BuySoftware, Buy Electronics, Buy Books, Buy Movies and Buy Music.Availability of two commercial versions, Copernic Agent Personal andCopernic Agent Professional, mainly focused on business and specializedneeds and providing access to more than 1000 information sources withinsome 125 search categories. Possibility of adding search engines andcategories, when available (commercial versions only). Possibility ofcreating custom categories with existing engines and categories(commercial versions only). Possibility of quickly accessing most usedsearch categories through a customizable group of favorite categories(commercial versions only). A quick search bar to make search creationeasier in most situations. Possibility of checking spelling of keywords(commercial versions only). Possibility of verifying and deleting brokenlinks automatically. Possibility of extracting data from Web pages(Copernic Agent Professional required). Possibility of detecting pagelanguages (Copernic Agent Professional required). Possibility ofdetecting duplicate pages with non-identical addresses. Possibility ofautonomous removal of irrelevant results following analysis of pagecontents with search keywords or a Boolean query (Copernic AgentProfessional required) Possibility of saving Web pages for offlinebrowsing and searching in found pages. Possibility of extracting keyconcepts from Web pages in order to add them in result lists (CopernicAgent Professional required). Possibility of summarizing a Web pagelinked to a selected search result (Copernic Agent Professional orCopernic Summarizer required). Possibility of using Boolean operators(AND, OR, EXCEPT, NEAR), parentheses and quotes to find words in resultsand analyze Web page contents in order to refine results (Copernic AgentProfessional required for refining of results). Possibility ofautomating tasks to validate links, analyze Web page contents, extractdata from Web pages and download them for offline browsing and searching(commercial versions only; Copernic Agent Personal allows only toautomate the link validation). A detailed and unlimited search historyallowing search follow-ups and various usages. Possibility of creatingfolders and sub-folders for the searches. Possibility of updatingsearches to find new results (new results highlighted). Possibility ofmodifying search parameters to obtain more accurate results. Possibilityof duplicating a search with all its parameters and results to quicklycreate a similar search. Possibility of copying and moving searches fromone folder to the other. Possibility of e-mailing search results in HTMLor text format. Possibility of exporting search results in various filetypes: HTML, Word (.doc), Text (.txt), XML, Comma Separated (.csv).Possibility of importing results in XML files. Possibility of sortingsearches by keywords, update dates, matches, notes, categories orschedules. Results Found results scored and displayed according to theirrelevancy. Automatic consolidation of results with identical links. Adetailed result list for each search with extensive information such asresult titles, excerpts, relevancy scores, Web page links and languages,user notes, dates, search engines and key concepts. Result listsincluding visual features such as icons, underlining, bold fonts andcolors. Highlighting of keywords in result lists and Web pages openedwith Internet Explorer (single-color or multi-color). Progressivedisplay of the results obtained during a search. A page preview pane todetermine the relevancy of results before browsing through them. Loadedpages are saved in the Internet Explorer 5.x (or later) memory cache tosave browsing time. A filter bar with multiple and advanced features tofilter result lists (features differ depending on the installedversion). A toolbar with multiple and advanced features to find words inresult lists or Web pages. Possibility of sorting any result list bytitles, excerpts, addresses, scores, dates found, dates visited, datesmodified or search engines. Possibility of grouping any result list byby scores, states (new, visited, saved, checkmarked or annotated),annotation contents, dates found, languages, last modified dates or samecontents (commercial versions only; advanced features require CopernicAgent Professional). Possibility of annotating results (commercialversions only). An integrated Internet Explorer Favorites menu, mainlyto facilitate addition of favorites from a result list. Possibility ofdeleting results. Possibility of consulting Web pages during a searchoperation. Search & Web Page Tracking (Copernic Agent Professionalrequired) Possibility of setting search tracking to autonomouslyretrieve new results on a periodic basis and report them. Possibility ofsetting page tracking to autonomously detect changes on a periodic basisover a default number of words and then report occurred changes byhighlighting them in pages. Availability of preset tracking schedules(multiple times per day, on a daily, weekly or monthly basis) making iteasier to set tracking tasks. Automatic logging onto and off theInternet through the modem at the beginning and end of a trackingschedule. Automatic sending of tracking reports by e-mail to one or moreparticular addresses. Possibility of customizing the default trackingschedules. Possibility of customizing recipient addresses for a specifictracking task. Possibility of combining tracking tasks with otherautomated tasks (e.g. downloading pages, validating links, refiningresults). Possibility of grouping together several tasks in the sametracking schedule. Possibility of postponing indefinitely the executionof tracking tasks, individually or globally. A tracking task managerwith many useful features and shortcuts. A tracking task progress reportwhile a tracking is underway. An icon, appearing in the Windows Taskbar,while a tracking operation is underway, that can be clicked to open thetracking progress window. Customizing & Configuration Possibility ofcustomizing the number of simultaneous transfers (up to 32) forsearching, verifying, analyzing, extracting and downloading operations.Possibility of personalizing toolbars and menus by adding, removing andrearranging buttons and items, creating custom toolbars and using manyother related options. Possibility of disabling or enabling defaultengines available by category. A search category manager to customizecategories. Possibility of customizing default maximum numbers ofresults to report by engine and search for each category and any search(Basic: 300/3000; Personal: 500/5000; Professional: 700/unlimited).Support of all Internet connection modes, including HTTP or Socks proxyservers (imports configuration from browser, manages the authorizationprocedure for proxies). Possibility of changing multiple configurationsettings (e.g. visual settings, summaries, e-mail reports, prompts,timeouts). Possibility of customizing the default browser and InternetExplorer, Windows or software integrations. Customizable toolbarlocations in the main window, Internet Explorer and other integratedapplications. Possibility of customizing search and result layouts.Automatic engine and software updates with customizable options.Possibility of entering a new password only once in Windows TaskScheduler for preset tracking schedules of Copernic Agent Professional.Compatibility Minimum equipment requirements: Pentium 120 MHz, 32 MB ofRAM, 15 MB of disk space. Operating system required: Windows95/98/Me/NT4/2000/XP. Browser required: Microsoft Internet Explorer 4.0or later, Netscape Navigator/Communicator 4.x or 6.x. Supportsmulti-user configurations for individual searches and settings. Windowscompliant software uninstall procedure. Accessibility to the programfrom Windows Start/Find menu. Other Specifications Availability of adynamic menu allowing quick and contextual access to most commonly usedtasks. HTML Help file including fully contextual Help Contents withmenus and windows. Help menu commands to access technical support fromthe Copernic Web site, report a problem or suggest a new featuredirectly.

1-31. (canceled)
 32. A method of providing results of an internet searchto be displayed within a viewed document comprising the acts of: a. aninternet searching company providing software to be installed on aclient device, the software operable to interface with a word processingprogram, and configured to cause the specialized internet searchingcompany to:
 1. receive, from the client device, via a networkconnection: i. a first search phrase from within the viewed document;and ii. a second search phrase from within the viewed document, spacedapart from the first search phrase;
 2. conduct a first search based uponthe first search phrase;
 3. conduct a second search based upon thesecond search phrase; and
 4. transmit, to the client device, via thenetwork connection, the results of the first search and the results ofthe second search, wherein the software is configured to use the resultsto: i. change the formatting of the first and second search phraseswithin the viewed document; and ii. link the first and second searchphrases to more detailed results that are displayed within the vieweddocument.
 33. The method of claim 32 wherein the first search phraserelates to a specialized subject matter.
 34. The method of claim 33wherein the results of the first search phrase are configured to bedisplayed as an underlined hyperlink and the results of the secondsearch phase are configured to be displayed as a highlighted hyperlink.35. The method of claim 32 wherein the search results are configured tobe displayed in a way that changes based upon which search phrase inselected within the document.
 36. A method of conducting an internetsearch from within a viewed document comprising the acts of: a.receiving, via a network connection from software interfaced with adocument editing program installed on a client device: i. a first searchphrase selected from within the viewed document; and ii. a second searchphrase selected from within the viewed document; b. conducting a searchbased upon the first search phrase; c. conducting a search based uponthe second search phrase; and d. transmitting, via the networkconnection, the results of the search for each search phrase in a formatconfigured to cause the software to display the search results withinthe viewed document in a format associated with each phrase locatedwithin the viewed document.
 37. The method of claim 36 wherein thesearch results for the first search phrase and the second search phraseare configured to be displayed simultaneously within the vieweddocument.
 38. The method of claim 36 wherein the search phrases areconfigured to be displayed in the form of hyperlinks.
 39. The method ofclaim 38 wherein the hyperlinks are configured to display more detailedresults within the viewed document when selected.
 40. The method ofclaim 36 wherein the search results are caused to be displayed in aformat including a geometric shape within the viewed document.
 41. Themethod of claim 40 wherein the geometric shapes are configured toprovide more detailed results elsewhere within the viewed document whenselected.
 42. The method of claim 40 wherein the geometric shapes arecolor-coded.
 43. The method of claim 42 wherein the color-codedgeometric shapes are configured to display more detailed results withinthe viewed document when selected.
 44. The method of claim 36 whereinthe results of the first search phrase are configured to be displayed asan underlined hyperlink and the results of the second search phase areconfigured to be displayed as a highlighted hyperlink.
 45. The method ofclaim 36 wherein the viewed document is either a word processingdocument, spreadsheet, presentation document, email, web, or internetpage, drawing, or pdf document.